package com.by.common.utils;

import org.apache.poi.util.Internal;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;

public class MapUtils {



    /**
     * 获取当前类的所有字段  并转换为map
     * @param clazz
     * @return
     */
    public static Map convertToMap(Class clazz,Object obj) {
        Map map = new HashMap<>();
        //利用反射获取当前类的所有字段
        Field[] field = clazz.getDeclaredFields();
        //遍历
        for (Field f : field) {
            //设置字段访问  设置为true 私有的也可以访问
            f.setAccessible(true);
            //获取字段名称
            String key = f.getName();
            //获取字段的值
            Object value = null;
            try {
                value = f.get(obj);
            } catch (IllegalAccessException e) {
                throw new RuntimeException(e);
            }
            map.put(key, value);
        }
        return map;
    }


    public static Integer getIntValue(Map map,String key){
        if (null==map || !map.containsKey(key))
            return null;
        //取值
        Object obj = map.get(key);
        if (null==obj)
            return null;
        return Integer.parseInt(obj.toString());
    }


    public static String getStringValue(Map map,String key){
        if (null==map || !map.containsKey(key))
            return null;
        //取值
        Object obj = map.get(key);
        if (null==obj)
            return null;
        return obj.toString();
    }
}
